home *** CD-ROM | disk | FTP | other *** search
/ Aminet 30 / Aminet 30 (1999)(Schatztruhe)[!][Apr 1999].iso / Aminet / gfx / misc / gnuplot-3.7src.lha / gnuplot-3.7src / gnuplot-3.7.lha / gnuplot-3.7 / makefile.dj2 < prev    next >
Makefile  |  1998-12-07  |  7KB  |  215 lines

  1. # make file for gnuplot 3.7 / DOS / DJGPP version 2
  2. #
  3. # compile it by   make -f makefile.dj2 in the main gnuplot directory
  4. #
  5. #
  6. # AUTHORS : several ... including Edzer Pebesma <pebesma@metoor.frw.uva.nl>
  7. #                  last mod. by Emmanuel Bigler <bigler@lpmo.univ-fcomte.fr> 
  8. # DATE of last mod :    1996 FEB 20
  9. #
  10. # removed atari reference and added binary demo bf_test
  11. # cleaned up the building of doc and binary test files
  12. # gnuplot.gih will be built now inside the docs directory like under
  13. # UNIX. The problem is that DOS does not recognize sub-shells like 
  14. #  (cd dir ; do things) inside the makefile. 
  15. # solution -> assume everything is done inside gnuplot main dir, under
  16. # a single DOS command process
  17. #
  18. # install target added : will copy the executable + helpfile in a given
  19. # directory ; customize it, see FINALDEST
  20. #
  21. #
  22. # here customize where you put gnuplot executable for make install
  23. # for simplicity the helpfile will be copied in the same dir.
  24. # convention used here : no trailing \ for directory names
  25. FINALDEST=c:\bin
  26.  
  27. # here customize the name of the executable
  28. # exe file will be  gp36.exe:
  29. EXENAME = gp36
  30.  
  31. # where to place gnuplot.gih helpfile upon MAKE
  32. # note it will be built inside gnuplot\$(HELPDEST)
  33. # and eventually copied to FINALDEST when install
  34. HELPDEST =docs
  35.  
  36. # name of the helpfile
  37. HELPFILE =gnuplot.gih
  38.  
  39. # compiler
  40. CCDIR = c:\djgpp\bin\
  41. CC = $(CCDIR)gcc
  42. # include directory
  43. INCLUDE = -I.
  44.  
  45. # for svga term driver
  46. # HBB: -finline-functions bombs out on term.c, so disable it unconditionally
  47. TERMFLAGS = -DDJSVGA -fno-inline-functions
  48. #
  49. #
  50. #just for historical purpose..
  51. ## DJGPP 1.xx:
  52. # CFLAGS = -DMSDOS -DDJGPP -DREADLINE -DHAVE_STRNICMP -O
  53. # LINKOPT = -lm -lpc -lgrx
  54.  
  55. ## DJGPP 2.0:
  56. # HBB : added $(OPTS) so user can
  57. #   change CFLAGS easily, without having to change makefile
  58. CFLAGS = -DMSDOS -DDOS32 \
  59.     -DANSI_C -DSTDC_HEADERS \
  60.     -DHAVE_VALUES_H -DHAVE_UNISTD_H -DRETSIGTYPE=void \
  61.     -DHAVE_ERF -DHAVE_LGAMMA -DHAVE_GAMMA \
  62.     -DHAVE_GETCWD -DHAVE_SETLINEBUF -DHAVE_SLEEP \
  63.     -DHAVE_STRNCASECMP -DHAVE_STRNICMP -DHAVE_STRERROR \
  64.     -DHAVE_SETVBUF \
  65.     -DHAVE_TEMPNAM -DPIPES -DREADLINE \
  66.     -O $(OPTS)
  67.  
  68. LINKOPT = $(LDFLAGS) -lm -lpc -lgrx20
  69.  
  70. # HBB: removed reference to no-more-existing term/bigfig.trm
  71. CSOURCE5 = term/ai.trm term/amiga.trm term/aed.trm \
  72.     term/cgi.trm term/djsvga.trm term/dumb.trm \
  73.     term/dxf.trm term/dxy.trm \
  74.     term/debug.trm term/eepic.trm term/epson.trm term/fig.trm  \
  75.     term/hp26.trm term/hp2648.trm term/hpgl.trm  \
  76.     term/hpljii.trm term/metafont.trm\
  77.     term/apollo.trm term/gpr.trm term/hppj.trm term/compact.c 
  78. CSOURCE6 = term/impcodes.h term/imagen.trm term/next.trm term/object.h \
  79.     term/iris4d.trm term/kyo.trm term/latex.trm term/mif.trm \
  80.     term/pbm.trm term/pc.trm 
  81. CSOURCE7 = term/post.trm term/qms.trm term/regis.trm term/sun.trm \
  82.     term/t410x.trm term/tek.trm term/texdraw.trm term/unixpc.trm \
  83.     term/unixplot.trm term/v384.trm term/vws.trm term/x11.trm term/xlib.trm
  84. OBJ1 =  bitmap.o command.o contour.o eval.o graphics.o graph3d.o hidden3d.o util3d.o
  85. OBJ2 =  help.o internal.o misc.o parse.o plot.o plot2d.o plot3d.o readline.o
  86. OBJ3 =  scanner.o set.o show.o specfun.o standard.o stdfn.o term.o time.o util.o
  87. OBJ4 =  version.o binary.o interpol.o fit.o matrix.o datafile.o alloc.o
  88.  
  89. CSOURCES = $(CSOURCE5) $(CSOURCE6) $(CSOURCE7)
  90. OBJS =  $(OBJ1) $(OBJ2) $(OBJ3) $(OBJ4)
  91.  
  92. .c.o:  
  93.     $(CC) -c $(CFLAGS) $(INCLUDE) $<
  94.  
  95. %:: RCS/%
  96.     $(patsubst $@-noexist,$(CO) $(COFLAGS) $< $@, \
  97.         $(filter-out $@,$(firstword $(wildcard $@) $@-noexist)))
  98.  
  99. all: $(EXENAME).exe  $(HELPDEST)\$(HELPFILE)  demo\binary?.
  100.  
  101. # -s performs the coff2exe step implicitly (?)
  102. # HBB: that's plain wrong: -s means 'strip executable',
  103. #   and stubify (formerly called stubify) is now always done
  104. #   automatically in the link step. I changed this so you
  105. #   get a debuggable gp36, but a stripped gp36.exe
  106. $(EXENAME).exe : $(OBJS)
  107.     $(CC) -o $(EXENAME) $(OBJS) $(LINKOPT)
  108.     objcopy --strip-all $(EXENAME) $(EXENAME).exe
  109.     stubify $(EXENAME).exe
  110. #HBB: I think that message is superfluous, and maybe even confusing
  111. #   for new users of DJGPP V2, who never used DJGPP V1 at all.
  112. #    @echo.
  113. #    @echo Rem: with djgpp v.2, you do not need  go32 any longer to run gnuplot
  114. #    @echo.
  115.  
  116. # This used to copy go32 to the exe file.. under v1.xx
  117. # obsolete under djgpp v. 2.
  118. #
  119. #$(EXENAME).exe : $(OBJS)
  120. #       $(CC) -o $(EXENAME) $(OBJS) $(LINKOPT)
  121. #       strip $(EXENAME)
  122. #       copy /b $(CCDIR)\$(EXENAME).exe+$(EXENAME) $(EXENAME).exe
  123. #       del $(EXENAME)
  124.  
  125. command.o: command.c plot.h setshow.h help.h
  126.     $(CC) -c $(CFLAGS) $(INCLUDE) -DHELPFILE=\"$(HELPFILE)\" command.c
  127.  
  128. show.o: show.c plot.h setshow.h
  129.     $(CC) -c $(CFLAGS) $(INCLUDE) -DHELPFILE=\"$(HELPFILE)\" $<
  130.  
  131. term.o: term.c term.h plot.h set.c show.c bitmap.h $(CSOURCES)
  132.     $(CC) -c $(CFLAGS) $(INCLUDE) $(TERMFLAGS) -Iterm term.c
  133.  
  134. $(OBJS): plot.h
  135.  
  136. command.o help.o misc.o: help.h
  137.  
  138. command.o graphics.o graph3d.o hidden3d.o util3d.o misc.o plot.o set.o show.o term.o interpol.o: setshow.h
  139.  
  140. command.o fit.o matrix.o: fit.h
  141.  
  142. fit.o matrix.o: matrix.h
  143.  
  144. bitmap.o term.o: bitmap.h
  145.  
  146. #HBB 961201: add dependencies to trigger RCS checkout if necessary:
  147. plot.h: protos.h
  148. protos.h: alloc.h
  149.  
  150. EMAIL=broeker@physik.rwth-aachen.de
  151. version.o: version.c
  152.     $(CC) -c -DCONTACT=\"$(EMAIL)\" $(CFLAGS) $(INCLUDE) version.c
  153.  
  154. # convert gnuplot.doc to gnuplot.gih
  155. $(HELPDEST)\$(HELPFILE): .\docs\doc2gih.exe .\docs\gnuplot.doc
  156.     .\docs\doc2gih  docs/gnuplot.doc > $(HELPDEST)\$(HELPFILE)
  157.  
  158. .\docs\doc2gih.exe: .\docs\doc2gih.c .\docs\termdoc.c $(CSOURCES)
  159.     $(CC) $(CFLAGS) $(INCLUDE) $(TERMFLAGS) -Iterm -o ./docs/doc2gih ./docs/doc2gih.c ./docs/termdoc.c
  160.     coff2exe ./docs/doc2gih
  161.  
  162. # now for the demo bin
  163. demo\binary?.: bf_test.exe
  164.     bf_test
  165.     copy binary? demo\binary?
  166.     del binary?
  167.  
  168. bf_test.o:
  169.     $(CC) $(CFLAGS) -c bf_test.c
  170.  
  171. bf_test.exe: bf_test.o binary.o alloc.o
  172.     $(CC) $(CFLAGS) bf_test.o binary.o alloc.o -lm -o bf_test
  173.     coff2exe bf_test
  174.  
  175. # now install things and create a .bat file to make things easier
  176. install: all
  177.     copy $(EXENAME).exe $(FINALDEST)
  178.     copy $(HELPDEST)\$(HELPFILE) $(FINALDEST)
  179. #HBB: if at all, this batch-file should only be generated by a
  180. #separate target, like 'install-bat'. Besides, it doesn't work,
  181. #as is, because DOS always executes foo.exe before even looking for
  182. #a foo.bat
  183. #    del  $(EXENAME).bat
  184. #    echo @echo off > $(EXENAME).bat
  185. #    echo SET GNUHELP= $(FINALDEST)\$(HELPFILE) >> $(EXENAME).bat
  186. #    echo SET GNUPLOT= $(FINALDEST) >> $(EXENAME).bat
  187. #    echo $(FINALDEST)\$(EXENAME).exe %1 %2 %3 %4 %5 %6 >> $(EXENAME).bat
  188. #    echo SET GNUHELP= >> $(EXENAME).bat
  189. #    echo SET GNUPLOT= >> $(EXENAME).bat
  190. #    copy $(EXENAME).bat $(FINALDEST)
  191.  
  192.  
  193. # clean target - remove all temp files, but leave executable intact
  194. clean:
  195.     del *.o
  196.     del $(EXENAME)
  197.     del .\docs\doc2gih
  198.     del .\docs\doc2gih.exe
  199.     del bf_test
  200.     del bf_test.exe
  201.  
  202. # realclean target - remove all files created by the makefile
  203. realclean: clean
  204.     del $(EXENAME).exe
  205.     del $(HELPDEST)\$(HELPFILE)
  206.     del .\demo\binary1
  207.     del .\demo\binary2
  208.     del .\demo\binary3
  209.     del .\demo\fit.log
  210.     del .\demo\soundfit.par
  211. #####
  212. ##     END OF GNUPLOT 3.7 MAKEFILE FOR DJGPP V2
  213. #####
  214.